Real Time Protocol or Real-time Transport Protocol (RTP, RFC3550) is an Internet-standard protocol for the transport of real-time data. It can be used for media-on-demand as well as interactive services such as Internet telephony. RTP is a “thin” protocol providing support for applications with real-time properties such as continuous media (e.g., audio and video), including timing reconstruction, loss detection, security and content identification.
Compressed RTP (CRTP), specified in RFC 2508, was developed to decrease the size of Internet Protocol (IP), User Datagram Protocol (UDP), and RTP packet headers that are employed to send RTP packets. However, CRTP was designed to work with reliable point-to-point links. In less-than optimal circumstances, where there may be long delays, packet loss, and out-of-sequence packets, CRTP does not function well for, e.g., Voice over IP (VoIP) applications. Thus, another adaptation, named Enhanced CRTP (ECRTP, RFC3545), was defined to overcome that problem. ECRTP, an extension to CRTP, is a header compression scheme for real time traffic, such as VoIP and other time sensitive services Like CRTP, ECRTP exploits the packet redundancy in a stream of IP/UDP/RTP packets, where virtually the same header is sent over and over again. The header and additional information is saved in a context at a compressor (transmit side) and decompressor (receive side). If the context is synchronized, the compressor can send only the differences between headers since the decompressor, using the last header, can reconstruct the full header. Tunneled CRTP (TCRTP) (RFC4170) describes how a tunnel can carry ECRTP payloads over an IP network, including multiplexing several ECRTP payloads into one IP packet
Although ECRTP and TCRTP have overcome some of the issues associated with basic RTP and CRTP, there continues to be a desire for still further improvements in the implementation and use of TCRTP.